//
//  UIButton+Expand.h
//  App
//
//  Created by tenltrs on 2018/6/26.
//  Copyright © 2018年 Tenltrs. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface UIButton (Expand)

typedef NS_ENUM(NSInteger, TSImagePosition) {
    TSImagePositionLeft = 0,              //图片在左，文字在右，默认
    TSImagePositionRight = 1,             //图片在右，文字在左
    TSImagePositionTop = 2,               //图片在上，文字在下
    TSImagePositionBottom = 3,            //图片在下，文字在上
};

/**
 *  利用UIButton的titleEdgeInsets和imageEdgeInsets来实现文字和图片的自由排列
 *  注意：这个方法需要在设置图片和文字之后才可以调用，且button的大小要大于 图片大小+文字大小+spacing
 *
 *  @param spacing 图片和文字的间隔
 */
- (void)ts_setImagePosition:(TSImagePosition)postion spacing:(CGFloat)spacing;

/**
 *  设置高亮图片
 *
 *  @param image 高亮图片
 */
- (void)ts_setHighlightedImage:(UIImage *)image;

/**
 *  返回高亮图片
 *
 *  @return 高亮图片
 */
- (UIImage *)ts_highlightedImage;

/**
 *  设置普通图片
 *
 *  @param image 普通图片
 */
- (void)ts_setNormalImage:(UIImage *)image;

/**
 *  返回普通图片
 *
 *  @return 普通图片
 */
- (UIImage *)ts_normalImage;

/**
 *  设置选中的图片
 *
 *  @param image 选中的图片
 */
- (void)ts_setSelectedImage:(UIImage *)image;

/**
 *  返回选中的图片
 *
 *  @return 选中的图片
 */
- (UIImage *)ts_selectedImage;


/**
 *  @brief  使用颜色设置按钮背景
 *
 *  @param backgroundColor 背景颜色
 *  @param state           按钮状态
 */
- (void)ts_setBackgroundColor:(UIColor *)backgroundColor forState:(UIControlState)state;

@end
